1. Field of the Invention
The present invention relates to web applications, particularly to mashup technologies, and more particularly to a method and apparatus for reliable mashup.
2. Description of Related Art
With the popularization of Web 2.0, mashup technologies are more and more widely used in Business Composition Scenarios. Mashup technologies leverage the script function of a browser, and construct user interfaces (hereinafter, UIs) and data elements from different pages and combine the elements through integration logics, thus forming a new uniform page. In the prior mashup technologies, there exist several problems as follows.
First, the browser may be unable to provide reliable client data transportation. Second, an exceptional modification may be made to data at client side by a user or a script.
For example, FIG. 1 shows an exemplary use of mashup using a Customer Relationship Management (hereinafter, CRM) service and an Enterprise Resource Planning (hereinafter, ERP) service, where Opportunities in CRM are loaded in a browser, and are stored as an Order in ERP. The use comprises the following steps.
1. Load customer information and order details (product name, unit price and quantity) from a CRM application to a CRM widget.
2. Load product specification and inventory information from ERP to an ERP widget.
3. When a salesperson wishes to create a new order, he can convert the data (user ID, product name and quantity) managed in the CRM widget and transfer them to an ERP “order creation” widget.
4. Send the order information to the ERP application through AJAX.
5. Send an order confirm response to the CRM application.
In step 3 of the above sequence, the data could be modified at a client side inadvertently or maliciously, and a script such as Javascript may throw an exception or be executed erroneously. In steps 4 and 5, the browser could be closed or crash. All those can cause inconsistency between the data in ERP and the data in CRM.
In order to solve the problem, enhanced client side validation and control logics are implemented in a prior art solution. However, such a solution is still ineffective for the cases of browser crashes and a user's malicious actions.
Another prior art solution, such as all in Extract, Transform, Load (hereinafter, ETL) and Enterprise Application Integration (hereinafter, EAI) solutions, uses server side integration, that is, accessing and integrating different web applications at the server side. Such a solution can provide reliable services as well as data consistency control. However such a solution no longer belongs to a mashup technology, and the disadvantage is that it needs a significant Information Technology (hereinafter, IT) development and a relatively long development lifecycle.
A reliable mashup solution is needed in the art, which can solve the data inconsistency problem in the existing mashup technologies, and at the same time allow a user to have a lightweight and agile mashup development experience.